2023/12/231198字符
Map 集合
package main
import "fmt"
func main() {
var m1 map[int]string
var m2 = make(map[int]string)
var m3 = map[string]int{ "age": 18, "length": 180 }
fmt.Println(m1 == nil) //--> true
fmt.Println(m2 == nil) //--> false
fmt.Println(m3) //--> map[age:18 length:180]
}
增删改查
package main
import "fmt"
func main() {
m := make(map[int]string)
m[1] = "1"
m[2] = "2"
m[3] = ""
fmt.Println(m) //--> map[1:1 2:2 3:]
for key, _ := range m {
value, ok := m[key] // ok: 确实存在,被定义/赋值过
if value == "" && ok {
delete(m, key)
}
}
fmt.Println(m) //--> map[1:1 2:2]
fmt.Println(len(m)) //--> 2
}
结合 slice
package main
import "fmt"
func main() {
sli := make([]map[string]string, 0, 3)
sli = append(sli, map[string]string{ "name": "bozai", "age": "18" })
sli = append(sli, map[string]string{ "name": "heihei", "age": "20" })
fmt.Println(len(sli)) //--> 2
}
package main
import "fmt"
func main() {
m := make(map[int]map[string]string)
m[1] = map[string]string{ "name": "bozai", "age": "18" }
m[2] = map[string]string{ "name": "heihei", "age": "20" }
fmt.Println(m)
}